﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using nspProduct;
using SqlOperate;
using Base;

public partial class Member_Trade_MemberProductAdd : nspBase.MemberBasePge
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!CheckCookies())
        {
            Response.Redirect("../../login/login.aspx");
            return;
        }
        if (!IsPostBack)
        {   
            Bind();
            for (int i = 0; i < dlProducts.Items.Count; i++)
            {
                SqlDataReader sr = SqlHelper.ExecuteReader("select ProductId,Verify from W_UsersProducts where UserID=" + Convert.ToInt32(Base.GetRequest.GetCookie("UserID")));
                while (sr.Read())
                {
                    if (sr["ProductId"].ToString().Equals(dlProducts.DataKeys[i].ToString()))
                    {
                        if (sr["Verify"].ToString().Equals("1"))
                        {
                            dlProducts.Items[i].FindControl("label1").Visible = false;
                            dlProducts.Items[i].FindControl("label2").Visible = true;
                            dlProducts.Items[i].FindControl("label3").Visible = false;
                            dlProducts.Items[i].FindControl("LinkButton1").Visible = true;
                            dlProducts.Items[i].FindControl("btnAdd").Visible = false;
                        }
                        if(sr["Verify"].ToString().Equals("2"))
                        {
                            dlProducts.Items[i].FindControl("label1").Visible = false;
                            dlProducts.Items[i].FindControl("label2").Visible = false;
                            dlProducts.Items[i].FindControl("label3").Visible = true;
                            dlProducts.Items[i].FindControl("LinkButton1").Visible = false;
                            dlProducts.Items[i].FindControl("btnAdd").Visible = true;
                        } 
                        if (sr["Verify"].ToString().Equals("3"))
                        {
                            dlProducts.Items[i].FindControl("label1").Visible = true;
                            dlProducts.Items[i].FindControl("label2").Visible = false;
                            dlProducts.Items[i].FindControl("label3").Visible = false;
                            dlProducts.Items[i].FindControl("LinkButton1").Visible = false;
                            dlProducts.Items[i].FindControl("btnAdd").Visible = false;
                        }
                    }
                  
                }
                sr.Close();
            }

        }

    }

    private void Bind()
    {
        string strURl = Request.RawUrl;
        strURl = strURl.Substring(0, strURl.IndexOf(".aspx")) + ".aspx";
        PageNo1.Strurl = strURl;
        string strWhere = "";
        PageNo1.Table = "W_Products as a";
        PageNo1.Where = "1=1";
        PageNo1.FldName = "a.AddDate desc,a.ID";
        PageNo1.StrGetFields = "a.ID,a.Name,a.TypeID,a.Picture,a.KeyWord,a.AddDate,a.Detail,a.Price";
        PageNo1.Tb_Id = "a.ID";
        PageNo1.PageSize = 12;
        DataTable dt = new DataTable();
        if (Request.QueryString["page"] != "" && Request.QueryString["page"] != null)
        {
            PageNo1.Pageindex = Int32.Parse(Request.QueryString["page"].ToString());
            dt = PageNo1.BindViewDesc();
        }
        else {
            PageNo1.Pageindex = 1;
            dt = PageNo1.BindViewDesc();
        }
        if (dt.Rows.Count == 0)
        {
            PageNo1.Visible = false;
            return;
        }
        else
            PageNo1.Visible = true;

        this.dlProducts.DataSource = dt.DefaultView;
        dlProducts.DataBind();
        dt.Clear();
        dt.Dispose();
    }

    protected void dlProducts_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        int index = 0;
        if (e.Item.ItemIndex > -1)
        {
            index = e.Item.ItemIndex;
            int id = int.Parse(dlProducts.DataKeys[index].ToString());
            SqlDataReader sdr = SqlHelper.ExecuteReader("select U_UserInfo.UserID,LinkName,MobilePhone,CompanyName from U_UserInfo left join W_UsersProducts on U_UserInfo.UserID = W_UsersProducts.UserID  where ProductId=" + id);
            while (sdr.Read())
            {
                Table table = (Table)e.Item.FindControl("supply");
                TableRow tr = new TableRow();
                table.Rows.Add(tr);
                TableCell td1 = new TableCell();
                tr.Cells.Add(td1);
                LinkButton button1 = new LinkButton();
                button1.Text = sdr["CompanyName"].ToString();
                td1.Controls.Add(button1);
            }
            sdr.Close();
        }
    }

    protected void btnAdd_Command(object sender, CommandEventArgs e)
    {
        int ProductId = int.Parse(e.CommandArgument.ToString());
        try
        {
        string insertStr = "insert into [W_UsersProducts] ([UserId],[ProductId]) values (@UserId,@ProductId)";
        SqlParameter[] parms ={ 
                new SqlParameter("@UserId", Convert.ToInt32( Base.GetRequest.GetCookie("UserID"))),
                new SqlParameter("@ProductId",ProductId)
            };
        SqlHelper.ExecuteNonQuery(CommandType.Text, insertStr, parms);
        Response.Redirect("MemberProductAdd.aspx");
        }
        catch (Exception ex)
        {
            ShowMessage(ex.Message);
        }
    }
    protected void LinkButton1_Command(object sender, CommandEventArgs e)
    {
        int ProductId = int.Parse(e.CommandArgument.ToString());
        int userid = int.Parse(Base.GetRequest.GetCookie("UserID"));
        try
        {
            string updateStr = "delete from [W_UsersProducts]  where [UserID]=@UserId and [ProductID] = @ProductId";
            SqlParameter[] parms ={ 
                new SqlParameter("@UserId", Convert.ToInt32(Base.GetRequest.GetCookie("UserID"))),
                new SqlParameter("@ProductId",ProductId)
            };
            SqlHelper.ExecuteNonQuery(CommandType.Text, updateStr, parms);
            for (int i = 0; i < dlProducts.Items.Count; i++)
            {
                if (ProductId==int.Parse(dlProducts.DataKeys[i].ToString()))
                {
                    dlProducts.Items[i].FindControl("btnAdd").Visible = true;
                    dlProducts.Items[i].FindControl("label1").Visible = false;
                    dlProducts.Items[i].FindControl("label2").Visible = false;
                    dlProducts.Items[i].FindControl("label3").Visible = false;
                    dlProducts.Items[i].FindControl("LinkButton1").Visible = false;
                }
            }
            Response.Redirect("MemberProductAdd.aspx");
        }
        catch (Exception ex)
        {
            ShowMessage(ex.Message);
        }
    }
}
